
    /**  
     * @Title: AOPHandle.java
     * @Package com.burns.java.base.aop.InvocationHandler
     * @Description: TODO(用一句话描述该文件做什么)
     * @author 35725
     * @date 2020年5月21日 下午5:19:27 
     * @version V1.0  
     */
    
package com.burns.java.base.aop.InvocationHandler;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
     * @ClassName: AOPHandle
     * @Description: TODO(这里用一句话描述这个类的作用)
     * @author 35725
     * @date 2020年5月21日
     *
     */

public class AOPHandle implements InvocationHandler{
    private Object obj;
    AOPHandle(Object obj){
        this.obj = obj;
    }

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        //方法返回值
        System.out.println("前置代理");
        //反射调用方法
        Object ret=method.invoke(obj, args);
        //声明结束
        System.out.println("后置代理");
        //返回反射调用方法的返回值
        return ret;
    }
}
